namespace ext.grid
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>Configuration Structure</summary>
	/// <definedin>src\widgets\grid\Column.js</definedin>
	public sealed class ActionColumn_Configuration : Record
	{
		
		#region Fields
		/// <summary>
		/// The URL of an image to display as the clickable element in the column.
		/// Optional - defaults to {@link Ext#BLANK_IMAGE_URL Ext.BLANK_IMAGE_URL}.
		/// </summary>
		/// <htmlSummary>
		/// The URL of an image to display as the clickable element in the column.
		/// Optional - defaults to &lt;code&gt;{@link Ext#BLANK_IMAGE_URL Ext.BLANK_IMAGE_URL}&lt;/code&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("icon")]
		public string Icon;
		
		/// <summary>A CSS class to apply to the icon image. To determine the class dynamically, configure the Column with a {@link #getClass} function.</summary>
		/// <htmlSummary>A CSS class to apply to the icon image. To determine the class dynamically, configure the Column with a &lt;code&gt;{@link #getClass}&lt;/code&gt; function.</htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("iconCls")]
		public string IconCls;
		
		/// <summary>
		/// A function called when the icon is clicked.
		/// The handler is passed the following parameters:   grid : GridPanel The owning GridPanel.   rowIndex : Number The row index clicked on.   colIndex : Number The column index clicked on.   item : Object The clicked item (or this Column if multiple
		/// {@link #items} were not configured).   e : Event The click event.
		/// </summary>
		/// <htmlSummary>
		/// A function called when the icon is clicked.
		/// The handler is passed the following parameters:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;code&gt;grid&lt;/code&gt; : GridPanel&lt;div class=&quot;sub-desc&quot;&gt;The owning GridPanel.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;rowIndex&lt;/code&gt; : Number&lt;div class=&quot;sub-desc&quot;&gt;The row index clicked on.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;colIndex&lt;/code&gt; : Number&lt;div class=&quot;sub-desc&quot;&gt;The column index clicked on.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;item&lt;/code&gt; : Object&lt;div class=&quot;sub-desc&quot;&gt;The clicked item (or this Column if multiple
		/// {@link #items} were not configured).&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;e&lt;/code&gt; : Event&lt;div class=&quot;sub-desc&quot;&gt;The click event.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("handler")]
		public System.Delegate Handler;
		
		/// <summary>
		/// The scope (this reference) in which the {@link #handler}
		/// and {@link #getClass} fuctions are executed. Defaults to this Column.
		/// </summary>
		/// <htmlSummary>
		/// The scope (&lt;tt&gt;&lt;b&gt;this&lt;/b&gt;&lt;/tt&gt; reference) in which the &lt;code&gt;{@link #handler}&lt;/code&gt;
		/// and &lt;code&gt;{@link #getClass}&lt;/code&gt; fuctions are executed. Defaults to this Column.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("scope")]
		public object Scope;
		
		/// <summary>
		/// A tooltip message to be displayed on hover. {@link Ext.QuickTips#init Ext.QuickTips} must have
		/// been initialized.
		/// </summary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("tooltip")]
		public string Tooltip;
		
		/// <summary>Defaults to true. Prevent grid row selection upon mousedown.</summary>
		/// <htmlSummary>Defaults to &lt;code&gt;true&lt;/code&gt;. Prevent grid &lt;i&gt;row&lt;/i&gt; selection upon mousedown.</htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("stopSelection")]
		public bool StopSelection;
		
		/// <summary>
		/// A function which returns the CSS class to apply to the icon image.
		/// The function is passed the following parameters:   v : Object The value of the column&apos;s configured field (if any).   metadata : Object An object in which you may set the following attributes:  css : String A CSS class name to add to the cell&apos;s TD element.   attr : String An HTML attribute definition string to apply to the data container element within the table cell
		/// (e.g. &apos;style=&quot;color:red;&quot;&apos;).      r : Ext.data.Record The Record providing the data.   rowIndex : Number The row index..   colIndex : Number The column index.   store : Ext.data.Store The Store which is providing the data Model.
		/// </summary>
		/// <htmlSummary>
		/// A function which returns the CSS class to apply to the icon image.
		/// The function is passed the following parameters:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;v&lt;/b&gt; : Object&lt;p class=&quot;sub-desc&quot;&gt;The value of the column&apos;s configured field (if any).&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;metadata&lt;/b&gt; : Object&lt;p class=&quot;sub-desc&quot;&gt;An object in which you may set the following attributes:&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;css&lt;/b&gt; : String&lt;p class=&quot;sub-desc&quot;&gt;A CSS class name to add to the cell&apos;s TD element.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;attr&lt;/b&gt; : String&lt;p class=&quot;sub-desc&quot;&gt;An HTML attribute definition string to apply to the data container element &lt;i&gt;within&lt;/i&gt; the table cell
		/// (e.g. &apos;style=&quot;color:red;&quot;&apos;).&lt;/p&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;r&lt;/b&gt; : Ext.data.Record&lt;p class=&quot;sub-desc&quot;&gt;The Record providing the data.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;rowIndex&lt;/b&gt; : Number&lt;p class=&quot;sub-desc&quot;&gt;The row index..&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;colIndex&lt;/b&gt; : Number&lt;p class=&quot;sub-desc&quot;&gt;The column index.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;store&lt;/b&gt; : Ext.data.Store&lt;p class=&quot;sub-desc&quot;&gt;The Store which is providing the data Model.&lt;/p&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("getClass")]
		public System.Delegate GetClass;
		
		/// <summary>
		/// An Array which may contain multiple icon definitions, each element of which may contain:
		///   icon : String The url of an image to display as the clickable element
		/// in the column.   iconCls : String A CSS class to apply to the icon image.
		/// To determine the class dynamically, configure the item with a getClass function.   getClass : Function A function which returns the CSS class to apply to the icon image.
		/// The function is passed the following parameters:  v : Object The value of the column&apos;s configured field (if any).   metadata : Object An object in which you may set the following attributes:  css : String A CSS class name to add to the cell&apos;s TD element.   attr : String An HTML attribute definition string to apply to the data container element within the table cell
		/// (e.g. &apos;style=&quot;color:red;&quot;&apos;).      r : Ext.data.Record The Record providing the data.   rowIndex : Number The row index..   colIndex : Number The column index.   store : Ext.data.Store The Store which is providing the...
		/// </summary>
		/// <htmlSummary>
		/// An Array which may contain multiple icon definitions, each element of which may contain:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;code&gt;icon&lt;/code&gt; : String&lt;div class=&quot;sub-desc&quot;&gt;The url of an image to display as the clickable element
		/// in the column.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;iconCls&lt;/code&gt; : String&lt;div class=&quot;sub-desc&quot;&gt;A CSS class to apply to the icon image.
		/// To determine the class dynamically, configure the item with a &lt;code&gt;getClass&lt;/code&gt; function.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;getClass&lt;/code&gt; : Function&lt;div class=&quot;sub-desc&quot;&gt;A function which returns the CSS class to apply to the icon image.
		/// The function is passed the following parameters:&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;v&lt;/b&gt; : Object&lt;p class=&quot;sub-desc&quot;&gt;The value of the column&apos;s configured field (if any).&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;metadata&lt;/b&gt; : Object&lt;p class=&quot;sub-desc&quot;&gt;An object in which you may set the following attributes:&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;css&lt;/b&gt; : String&lt;p class=&quot;sub-desc&quot;&gt;A CSS class name to add to the cell&apos;s TD element.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;attr&lt;/b&gt; : String&lt;p class=&quot;sub-desc&quot;&gt;An HTML attribute definition string to apply to the data container element &lt;i&gt;within&lt;/i&gt; the table cell
		/// (e.g. &apos;style=&quot;color:red;&quot;&apos;).&lt;/p&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;r&lt;/b&gt; : Ext.data.Record&lt;p class=&quot;sub-desc&quot;&gt;The Record providing the data.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;rowIndex&lt;/b&gt; : Number&lt;p class=&quot;sub-desc&quot;&gt;The row index..&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;colIndex&lt;/b&gt; : Number&lt;p class=&quot;sub-desc&quot;&gt;The column index.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;store&lt;/b&gt; : Ext.data.Store&lt;p class=&quot;sub-desc&quot;&gt;The Store which is providing the data Model.&lt;/p&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;handler&lt;/code&gt; : Function&lt;div class=&quot;sub-desc&quot;&gt;A function called when the icon is clicked.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;scope&lt;/code&gt; : Scope&lt;div class=&quot;sub-desc&quot;&gt;The scope (&lt;code&gt;&lt;b&gt;this&lt;/b&gt;&lt;/code&gt; reference) in which the
		/// &lt;code&gt;handler&lt;/code&gt; and &lt;code&gt;getClass&lt;/code&gt; functions are executed. Fallback defaults are this Column&apos;s
		/// configured scope, then this Column.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;tooltip&lt;/code&gt; : String&lt;div class=&quot;sub-desc&quot;&gt;A tooltip message to be displayed on hover.
		/// {@link Ext.QuickTips#init Ext.QuickTips} must have been initialized.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("items")]
		public System.Array Items;
		
		/// <summary>The alt text to use for the image element. Defaults to &apos;&apos;.</summary>
		/// <htmlSummary>The alt text to use for the image element. Defaults to &lt;tt&gt;&apos;&apos;&lt;/tt&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("altText")]
		public string AltText;
		#endregion
		
		#region ext.grid.Column_Configuration Members
		/// <summary>
		/// Optional. Defaults to true, enabling the configured
		/// {@link #editor}. Set to false to initially disable editing on this column.
		/// The initial configuration may be dynamically altered using
		/// {@link Ext.grid.ColumnModel}.{@link Ext.grid.ColumnModel#setEditable setEditable()}.
		/// </summary>
		/// <htmlSummary>
		/// Optional. Defaults to &lt;tt&gt;true&lt;/tt&gt;, enabling the configured
		/// &lt;tt&gt;{@link #editor}&lt;/tt&gt;. Set to &lt;tt&gt;false&lt;/tt&gt; to initially disable editing on this column.
		/// The initial configuration may be dynamically altered using
		/// {@link Ext.grid.ColumnModel}.{@link Ext.grid.ColumnModel#setEditable setEditable()}.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("editable")]
		public bool Editable;
		
		/// <summary>
		/// Optional. A name which identifies this column (defaults to the column&apos;s initial
		/// ordinal position.) The id is used to create a CSS class name which is applied to all
		/// table cells (including headers) in that column (in this context the id does not need to be
		/// unique). The class name takes the form of  x-grid3-td-id 
		/// Header cells will also receive this class name, but will also have the class  x-grid3-hd 
		/// So, to target header cells, use CSS selectors such as: .x-grid3-hd-row .x-grid3-td-id 
		/// The {@link Ext.grid.GridPanel#autoExpandColumn} grid config option references the column via this
		/// unique identifier.
		/// </summary>
		/// <htmlSummary>
		/// Optional. A name which identifies this column (defaults to the column&apos;s initial
		/// ordinal position.) The &lt;tt&gt;id&lt;/tt&gt; is used to create a CSS &lt;b&gt;class&lt;/b&gt; name which is applied to all
		/// table cells (including headers) in that column (in this context the &lt;tt&gt;id&lt;/tt&gt; does not need to be
		/// unique). The class name takes the form of &lt;pre&gt;x-grid3-td-&lt;b&gt;id&lt;/b&gt;&lt;/pre&gt;
		/// Header cells will also receive this class name, but will also have the class &lt;pre&gt;x-grid3-hd&lt;/pre&gt;
		/// So, to target header cells, use CSS selectors such as:&lt;pre&gt;.x-grid3-hd-row .x-grid3-td-&lt;b&gt;id&lt;/b&gt;&lt;/pre&gt;
		/// The {@link Ext.grid.GridPanel#autoExpandColumn} grid config option references the column via this
		/// unique identifier.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("id")]
		public string Id;
		
		/// <summary>
		/// Optional. The header text to be used as innerHTML
		/// (html tags are accepted) to display in the Grid view. Note: to
		/// have a clickable header with no text displayed use &apos;&amp;amp;#160;&apos;.
		/// </summary>
		/// <htmlSummary>
		/// Optional. The header text to be used as innerHTML
		/// (html tags are accepted) to display in the Grid view. &lt;b&gt;Note&lt;/b&gt;: to
		/// have a clickable header with no text displayed use &lt;tt&gt;&apos;&amp;amp;#160;&apos;&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("header")]
		public string Header;
		
		/// <summary>
		/// Optional. If the grid is being rendered by an {@link Ext.grid.GroupingView}, this option
		/// may be used to disable the header menu item to group by the column selected. Defaults to true,
		/// which enables the header menu group option. Set to false to disable (but still show) the
		/// group option in the header menu for the column. See also {@link #groupName}.
		/// </summary>
		/// <htmlSummary>
		/// Optional. If the grid is being rendered by an {@link Ext.grid.GroupingView}, this option
		/// may be used to disable the header menu item to group by the column selected. Defaults to &lt;tt&gt;true&lt;/tt&gt;,
		/// which enables the header menu group option. Set to &lt;tt&gt;false&lt;/tt&gt; to disable (but still show) the
		/// group option in the header menu for the column. See also &lt;code&gt;{@link #groupName}&lt;/code&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("groupable")]
		public bool Groupable;
		
		/// <summary>
		/// Optional. If the grid is being rendered by an {@link Ext.grid.GroupingView}, this option
		/// may be used to specify the text with which to prefix the group field value in the group header line.
		/// See also {@link #groupRenderer} and
		/// {@link Ext.grid.GroupingView}.{@link Ext.grid.GroupingView#showGroupName showGroupName}.
		/// </summary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("groupName")]
		public string GroupName;
		
		/// <summary>
		/// Optional. If the grid is being rendered by an {@link Ext.grid.GroupingView}, this option
		/// may be used to specify the function used to format the grouping field value for display in the group
		/// {@link #groupName header}. If a groupRenderer is not specified, the configured
		/// {@link #renderer} will be called; if a {@link #renderer} is also not specified
		/// the new value of the group field will be used.  The called function (either the groupRenderer or {@link #renderer}) will be
		/// passed the following parameters:
		///   v : Object The new value of the group field.   unused : undefined Unused parameter.   r : Ext.data.Record The Record providing the data
		/// for the row which caused group change.   rowIndex : Number The row index of the Record which caused group change.   colIndex : Number The column index of the group field.   ds : Ext.data.Store The Store which is providing the data Model.      The function should return a string value.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Optional. If the grid is being rendered by an {@link Ext.grid.GroupingView}, this option
		/// may be used to specify the function used to format the grouping field value for display in the group
		/// {@link #groupName header}. If a &lt;tt&gt;&lt;b&gt;groupRenderer&lt;/b&gt;&lt;/tt&gt; is not specified, the configured
		/// &lt;tt&gt;&lt;b&gt;{@link #renderer}&lt;/b&gt;&lt;/tt&gt; will be called; if a &lt;tt&gt;&lt;b&gt;{@link #renderer}&lt;/b&gt;&lt;/tt&gt; is also not specified
		/// the new value of the group field will be used.&lt;/p&gt;
		/// &lt;p&gt;The called function (either the &lt;tt&gt;&lt;b&gt;groupRenderer&lt;/b&gt;&lt;/tt&gt; or &lt;tt&gt;&lt;b&gt;{@link #renderer}&lt;/b&gt;&lt;/tt&gt;) will be
		/// passed the following parameters:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;v&lt;/b&gt; : Object&lt;p class=&quot;sub-desc&quot;&gt;The new value of the group field.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;unused&lt;/b&gt; : undefined&lt;p class=&quot;sub-desc&quot;&gt;Unused parameter.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;r&lt;/b&gt; : Ext.data.Record&lt;p class=&quot;sub-desc&quot;&gt;The Record providing the data
		/// for the row which caused group change.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;rowIndex&lt;/b&gt; : Number&lt;p class=&quot;sub-desc&quot;&gt;The row index of the Record which caused group change.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;colIndex&lt;/b&gt; : Number&lt;p class=&quot;sub-desc&quot;&gt;The column index of the group field.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;ds&lt;/b&gt; : Ext.data.Store&lt;p class=&quot;sub-desc&quot;&gt;The Store which is providing the data Model.&lt;/p&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;&lt;/p&gt;
		/// &lt;p&gt;The function should return a string value.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("groupRenderer")]
		public System.Delegate GroupRenderer;
		
		/// <summary>
		/// Optional. If the grid is being rendered by an {@link Ext.grid.GroupingView}, this option
		/// may be used to specify the text to display when there is an empty group value. Defaults to the
		/// {@link Ext.grid.GroupingView}.{@link Ext.grid.GroupingView#emptyGroupText emptyGroupText}.
		/// </summary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("emptyGroupText")]
		public string EmptyGroupText;
		
		/// <summary>
		/// Required. The name of the field in the
		/// grid&apos;s {@link Ext.data.Store}&apos;s {@link Ext.data.Record} definition from
		/// which to draw the column&apos;s value.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Required&lt;/b&gt;. The name of the field in the
		/// grid&apos;s {@link Ext.data.Store}&apos;s {@link Ext.data.Record} definition from
		/// which to draw the column&apos;s value.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("dataIndex")]
		public string DataIndex;
		
		/// <summary>
		/// Optional. The initial width in pixels of the column.
		/// The width of each column can also be affected if any of the following are configured:
		///   {@link Ext.grid.GridPanel}.{@link Ext.grid.GridPanel#autoExpandColumn autoExpandColumn}  {@link Ext.grid.GridView}.{@link Ext.grid.GridView#forceFit forceFit}  By specifying forceFit:true, {@link #fixed non-fixed width} columns will be
		/// re-proportioned (based on the relative initial widths) to fill the width of the grid so
		/// that no horizontal scrollbar is shown.    {@link Ext.grid.GridView}.{@link Ext.grid.GridView#autoFill autoFill}  {@link Ext.grid.GridPanel}.{@link Ext.grid.GridPanel#minColumnWidth minColumnWidth}
		/// </summary>
		/// <htmlSummary>
		/// Optional. The initial width in pixels of the column.
		/// The width of each column can also be affected if any of the following are configured:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;{@link Ext.grid.GridPanel}.&lt;tt&gt;{@link Ext.grid.GridPanel#autoExpandColumn autoExpandColumn}&lt;/tt&gt;&lt;/li&gt;
		/// &lt;li&gt;{@link Ext.grid.GridView}.&lt;tt&gt;{@link Ext.grid.GridView#forceFit forceFit}&lt;/tt&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;
		/// &lt;p&gt;By specifying &lt;tt&gt;forceFit:true&lt;/tt&gt;, {@link #fixed non-fixed width} columns will be
		/// re-proportioned (based on the relative initial widths) to fill the width of the grid so
		/// that no horizontal scrollbar is shown.&lt;/p&gt;
		/// &lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;{@link Ext.grid.GridView}.&lt;tt&gt;{@link Ext.grid.GridView#autoFill autoFill}&lt;/tt&gt;&lt;/li&gt;
		/// &lt;li&gt;{@link Ext.grid.GridPanel}.&lt;tt&gt;{@link Ext.grid.GridPanel#minColumnWidth minColumnWidth}&lt;/tt&gt;&lt;/li&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: when the width of each column is determined, a space on the right side
		/// is reserved for the vertical scrollbar. The
		/// {@link Ext.grid.GridView}.&lt;tt&gt;{@link Ext.grid.GridView#scrollOffset scrollOffset}&lt;/tt&gt;
		/// can be modified to reduce or eliminate the reserved offset.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("width")]
		public System.Number Width;
		
		/// <summary>
		/// Optional. true if sorting is to be allowed on this column.
		/// Defaults to the value of the {@link Ext.grid.ColumnModel#defaultSortable} property.
		/// Whether local/remote sorting is used is specified in {@link Ext.data.Store#remoteSort}.
		/// </summary>
		/// <htmlSummary>
		/// Optional. &lt;tt&gt;true&lt;/tt&gt; if sorting is to be allowed on this column.
		/// Defaults to the value of the &lt;code&gt;{@link Ext.grid.ColumnModel#defaultSortable}&lt;/code&gt; property.
		/// Whether local/remote sorting is used is specified in &lt;code&gt;{@link Ext.data.Store#remoteSort}&lt;/code&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("sortable")]
		public bool Sortable;
		
		/// <summary>Optional. true if the column width cannot be changed. Defaults to false.</summary>
		/// <htmlSummary>Optional. &lt;tt&gt;true&lt;/tt&gt; if the column width cannot be changed. Defaults to &lt;tt&gt;false&lt;/tt&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("fixed")]
		public bool Fixed;
		
		/// <summary>Optional. false to disable column resizing. Defaults to true.</summary>
		/// <htmlSummary>Optional. &lt;tt&gt;false&lt;/tt&gt; to disable column resizing. Defaults to &lt;tt&gt;true&lt;/tt&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("resizable")]
		public bool Resizable;
		
		/// <summary>Optional. true to disable the column menu. Defaults to false.</summary>
		/// <htmlSummary>Optional. &lt;tt&gt;true&lt;/tt&gt; to disable the column menu. Defaults to &lt;tt&gt;false&lt;/tt&gt;.</htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("menuDisabled")]
		public bool MenuDisabled;
		
		/// <summary>
		/// Optional. true to initially hide this column. Defaults to false.
		/// A hidden column {@link Ext.grid.GridPanel#enableColumnHide may be shown via the header row menu}.
		/// If a column is never to be shown, simply do not include this column in the Column Model at all.
		/// </summary>
		/// <htmlSummary>
		/// Optional. &lt;tt&gt;true&lt;/tt&gt; to initially hide this column. Defaults to &lt;tt&gt;false&lt;/tt&gt;.
		/// A hidden column {@link Ext.grid.GridPanel#enableColumnHide may be shown via the header row menu}.
		/// If a column is never to be shown, simply do not include this column in the Column Model at all.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("hidden")]
		public bool Hidden;
		
		/// <summary>
		/// For an alternative to specifying a renderer see {@link #xtype}  Optional. A renderer is an &apos;interceptor&apos; method which can be used transform data (value,
		/// appearance, etc.) before it is rendered). This may be specified in either of three ways:
		///   A renderer function used to return HTML markup for a cell given the cell&apos;s data value.  A string which references a property name of the {@link Ext.util.Format} class which
		/// provides a renderer function.  An object specifying both the renderer function, and its execution scope (this
		/// reference) e.g.: 
		/// {
		/// fn: this.gridRenderer,
		/// scope: this
		/// }
		///    
		/// If not specified, the default renderer uses the raw data value.  For information about the renderer function (passed parameters, etc.), see
		/// {@link Ext.grid.ColumnModel#setRenderer}. An example of specifying renderer function inline:  
		/// var companyColumn = {
		/// header: &apos;Company Name&apos;,
		/// dataIndex: &apos;company&apos;,
		/// renderer: function(value, metaData, record, rowIndex, colIndex, store) {
		/// // provide...
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;For an alternative to specifying a renderer see &lt;code&gt;{@link #xtype}&lt;/code&gt;&lt;/p&gt;
		/// &lt;p&gt;Optional. A renderer is an &apos;interceptor&apos; method which can be used transform data (value,
		/// appearance, etc.) before it is rendered). This may be specified in either of three ways:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;A renderer function used to return HTML markup for a cell given the cell&apos;s data value.&lt;/li&gt;
		/// &lt;li&gt;A string which references a property name of the {@link Ext.util.Format} class which
		/// provides a renderer function.&lt;/li&gt;
		/// &lt;li&gt;An object specifying both the renderer function, and its execution scope (&lt;tt&gt;&lt;b&gt;this&lt;/b&gt;&lt;/tt&gt;
		/// reference) e.g.:&lt;pre style=&quot;margin-left:1.2em&quot;&gt;&lt;code&gt;
		/// {
		/// fn: this.gridRenderer,
		/// scope: this
		/// }
		/// &lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		/// If not specified, the default renderer uses the raw data value.&lt;/p&gt;
		/// &lt;p&gt;For information about the renderer function (passed parameters, etc.), see
		/// {@link Ext.grid.ColumnModel#setRenderer}. An example of specifying renderer function inline:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// var companyColumn = {
		/// header: &apos;Company Name&apos;,
		/// dataIndex: &apos;company&apos;,
		/// renderer: function(value, metaData, record, rowIndex, colIndex, store) {
		/// // provide the logic depending on business rules
		/// // name of your own choosing to manipulate the cell depending upon
		/// // the data in the underlying Record object.
		/// if (value == &apos;whatever&apos;) {
		/// //metaData.css : String : A CSS class name to add to the TD element of the cell.
		/// //metaData.attr : String : An html attribute definition string to apply to
		/// // the data container element within the table
		/// // cell (e.g. &apos;style=&quot;color:red;&quot;&apos;).
		/// metaData.css = &apos;name-of-css-class-you-will-define&apos;;
		/// }
		/// return value;
		/// }
		/// }
		/// &lt;/code&gt;&lt;/pre&gt;
		/// See also {@link #scope}.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("renderer")]
		public object Renderer;
		
		/// <summary>
		/// Optional. A String which references a predefined {@link Ext.grid.Column} subclass
		/// type which is preconfigured with an appropriate {@link #renderer} to be easily
		/// configured into a ColumnModel. The predefined {@link Ext.grid.Column} subclass types are:
		///   gridcolumn : {@link Ext.grid.Column} (Default)    booleancolumn : {@link Ext.grid.BooleanColumn}    numbercolumn : {@link Ext.grid.NumberColumn}    datecolumn : {@link Ext.grid.DateColumn}    templatecolumn : {@link Ext.grid.TemplateColumn}      Configuration properties for the specified xtype may be specified with
		/// the Column configuration properties, for example:  
		/// var grid = new Ext.grid.GridPanel({
		/// ...
		/// columns: [{
		/// header: &apos;Last Updated&apos;,
		/// dataIndex: &apos;lastChange&apos;,
		/// width: 85,
		/// sortable: true,
		/// //renderer: Ext.util.Format.dateRenderer(&apos;m/d/Y&apos;),
		/// xtype: &apos;datecolumn&apos;, // use xtype instead of renderer
		/// format: &apos;M/d/Y&apos; // configuration property for {@link Ext.grid.DateColumn}
		/// }, {
		/// ...
		/// }]
		/// });
		/// </summary>
		/// <htmlSummary>
		/// Optional. A String which references a predefined {@link Ext.grid.Column} subclass
		/// type which is preconfigured with an appropriate &lt;code&gt;{@link #renderer}&lt;/code&gt; to be easily
		/// configured into a ColumnModel. The predefined {@link Ext.grid.Column} subclass types are:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;gridcolumn&lt;/tt&gt;&lt;/b&gt; : {@link Ext.grid.Column} (&lt;b&gt;Default&lt;/b&gt;)&lt;p class=&quot;sub-desc&quot;&gt;&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;booleancolumn&lt;/tt&gt;&lt;/b&gt; : {@link Ext.grid.BooleanColumn}&lt;p class=&quot;sub-desc&quot;&gt;&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;numbercolumn&lt;/tt&gt;&lt;/b&gt; : {@link Ext.grid.NumberColumn}&lt;p class=&quot;sub-desc&quot;&gt;&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;datecolumn&lt;/tt&gt;&lt;/b&gt; : {@link Ext.grid.DateColumn}&lt;p class=&quot;sub-desc&quot;&gt;&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;templatecolumn&lt;/tt&gt;&lt;/b&gt; : {@link Ext.grid.TemplateColumn}&lt;p class=&quot;sub-desc&quot;&gt;&lt;/p&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// &lt;p&gt;Configuration properties for the specified &lt;code&gt;xtype&lt;/code&gt; may be specified with
		/// the Column configuration properties, for example:&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;
		/// var grid = new Ext.grid.GridPanel({
		/// ...
		/// columns: [{
		/// header: &apos;Last Updated&apos;,
		/// dataIndex: &apos;lastChange&apos;,
		/// width: 85,
		/// sortable: true,
		/// //renderer: Ext.util.Format.dateRenderer(&apos;m/d/Y&apos;),
		/// xtype: &apos;datecolumn&apos;, // use xtype instead of renderer
		/// format: &apos;M/d/Y&apos; // configuration property for {@link Ext.grid.DateColumn}
		/// }, {
		/// ...
		/// }]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("xtype")]
		public string Xtype;
		
		/// <summary>Optional. Set the CSS text-align property of the column. Defaults to undefined.</summary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("align")]
		public string Align;
		
		/// <summary>
		/// Optional. An inline style definition string which is applied to all table cells in the column
		/// (excluding headers). Defaults to undefined.
		/// </summary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("css")]
		public string Css;
		
		/// <summary>
		/// Optional. Specify as false to prevent the user from hiding this column
		/// (defaults to true). To disallow column hiding globally for all columns in the grid, use
		/// {@link Ext.grid.GridPanel#enableColumnHide} instead.
		/// </summary>
		/// <htmlSummary>
		/// Optional. Specify as &lt;tt&gt;false&lt;/tt&gt; to prevent the user from hiding this column
		/// (defaults to true). To disallow column hiding globally for all columns in the grid, use
		/// {@link Ext.grid.GridPanel#enableColumnHide} instead.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("hideable")]
		public bool Hideable;
		
		/// <summary>
		/// Optional. The {@link Ext.form.Field} to use when editing values in this column
		/// if editing is supported by the grid. See {@link #editable} also.
		/// </summary>
		/// <htmlSummary>
		/// Optional. The {@link Ext.form.Field} to use when editing values in this column
		/// if editing is supported by the grid. See &lt;tt&gt;{@link #editable}&lt;/tt&gt; also.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("editor")]
		public ext.form.Field Editor;
		
		/// <summary>
		/// Used by ColumnModel setConfig method to avoid reprocessing a Column
		/// if isColumn is not set ColumnModel will recreate a new Ext.grid.Column
		/// Defaults to true.
		/// </summary>
		/// <htmlSummary>
		/// Used by ColumnModel setConfig method to avoid reprocessing a Column
		/// if &lt;code&gt;isColumn&lt;/code&gt; is not set ColumnModel will recreate a new Ext.grid.Column
		/// Defaults to true.
		/// </htmlSummary>
		/// <definedin>src\widgets\grid\Column.js</definedin>
		[ScriptName("isColumn")]
		public bool IsColumn;
		#endregion
	}
}
